package com.plian.system.service.hr.recruitment;

import com.plian.system.entity.hr.recruitment.PartTimeInfo;
import com.plian.system.mybatis.base.BaseService;

import java.util.List;

/**
 * 招聘管理子表 服务类
 *
 * @author gangan
 * @since 2019-11-15
 */
public interface IPartTimeInfoService extends BaseService<PartTimeInfo> {

    /**
     * 根据人员id获取已兼职情况信息
     *
     * @param id
     * @return
     */
    String getPartTimeJobSituation(Long id);

    /**
     * 根据人员id和状态获取兼职信息
     *
     * @param id
     * @param status
     * @return
     */
    List<PartTimeInfo> getPartTimeInfosByStatus(Long id, int status);

    /**
     * 根据人员id获取已兼职列表
     *
     * @param id
     * @return
     */
    List<PartTimeInfo> getPartTimeInfos(Long id);

    /**
     * 根据兼职单据id改变状态
     *
     * @param partTimeManagementId
     * @param updateStatus
     * @return
     */
    boolean changeStatus(Long partTimeManagementId, int updateStatus);

    /**
     * 根据免职信息状态动态改变
     *
     * @param partTimeInfoIds
     * @param updateStatus
     * @return
     */
    boolean changeStatusByRemove(List<Long> partTimeInfoIds, int updateStatus);

    /**
     * 根据id改变状态
     *
     * @param id
     * @param updateStatus
     * @return
     */
    boolean changeStatusById(Long id, int updateStatus);

    /**
     * 根据partTimeManagementId删除
     *
     * @param ids
     * @return
     */
    Boolean deleteLogicPartTimeManagementId(List<Long> ids);

    /**
     * 根据人员id获取已兼职情况信息 list
     *
     * @param ids
     * @return
     */
    String getPartTimeJobSituation(List<Long> ids);

    /**
     * 根据人员ids获取已兼职列表
     *
     * @param id
     * @return
     */
    List<PartTimeInfo> getPartTimeInfos(List<Long> id);

}
